home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / GNU_C++ / LIB / SRC / GEMLIB38.LZH / a_evnt.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-07-10  |  3.7 KB  |  180 lines

  1. /*
  2.  * Aes event library interface
  3.  *
  4.  * ++jrb bammi@cadence.com
  5.  * modified: mj -- ntomczak@vm.ucs.ualberta.ca
  6.  * modified: cf -- felsch.tu-harburg.de
  7.  */
  8. #include "gem.h"
  9.  
  10.  
  11. int evnt_button(int Clicks, int WhichButton, int WhichState, int *Mx, int *My, int *ButtonState, int *KeyState)
  12. {
  13.     aes_intin[0] = Clicks;
  14.     aes_intin[1] = WhichButton;
  15.     aes_intin[2] = WhichState;
  16.     aes_control[0] = 21;
  17.     aes_control[1] = 3;
  18.     aes_control[2] = 5;
  19.     aes_control[3] = 0;
  20.     aes_control[4] = 0;
  21.     aes(&aes_params);
  22.     *Mx = aes_intout[1];
  23.     *My = aes_intout[2];
  24.     *ButtonState = aes_intout[3];
  25.     *KeyState = aes_intout[4];
  26.     return aes_intout[0];
  27. }
  28.  
  29.  
  30. int evnt_dclick(int ToSet, int SetGet)
  31. {
  32.     aes_intin[0] = ToSet;
  33.     aes_intin[1] = SetGet;
  34.     aes_control[0] = 26;
  35.     aes_control[1] = 2;
  36.     aes_control[2] = 1;
  37.     aes_control[3] = 0;
  38.     aes_control[4] = 0;
  39.     aes(&aes_params);
  40.     return aes_intout[0];
  41. }
  42.  
  43.  
  44. int evnt_keybd(void)
  45. {
  46.     aes_control[0] = 20;
  47.     aes_control[1] = 0;
  48.     aes_control[2] = 1;
  49.     aes_control[3] = 0;
  50.     aes_control[4] = 0;
  51.     aes(&aes_params);
  52.     return aes_intout[0];
  53. }
  54.  
  55.  
  56. int evnt_mesag(int MesagBuf[])
  57. {
  58. #ifndef __MSHORT__
  59.     short     dummy[8];
  60.     register int i;
  61.  
  62.     aes_addrin[0] = (long)&dummy[0];
  63. #else
  64.     aes_addrin[0] = (long)MesagBuf;
  65. #endif
  66.  
  67.     aes_control[0] = 23;
  68.     aes_control[1] = 0;
  69.     aes_control[2] = 1;
  70.     aes_control[3] = 1;
  71.     aes_control[4] = 0;
  72.     aes(&aes_params);
  73.  
  74. #ifndef __MSHORT__
  75.     if(MesagBuf != (int *)0)
  76.         for(i = 0; i < 8; i++)
  77.              MesagBuf[i] = dummy[i];
  78. #endif
  79.  
  80.     return aes_intout[0];
  81. }
  82.  
  83.  
  84. int evnt_mouse(int EnterExit, int InX, int InY, int InW, int InH,
  85.                      int *OutX, int *OutY, int *ButtonState, int *KeyState)
  86. {
  87.     aes_intin[0] = EnterExit;
  88.     aes_intin[1] = InX;
  89.     aes_intin[2] = InY;
  90.     aes_intin[3] = InW;
  91.     aes_intin[4] = InH;
  92.     aes_control[0] = 22;
  93.     aes_control[1] = 5;
  94.     aes_control[2] = 5;
  95.     aes_control[3] = 0;
  96.     aes_control[4] = 0;
  97.     aes(&aes_params);
  98.     *OutX = aes_intout[1];
  99.     *OutY = aes_intout[2];
  100.     *ButtonState = aes_intout[3];
  101.     *KeyState = aes_intout[4];
  102.     return aes_intout[0];
  103. }
  104.  
  105.  
  106. int evnt_multi(int Type, int Clicks, int WhichButton, int WhichState,
  107.              int EnterExit1, int In1X, int In1Y, int In1W, int In1H,
  108.              int EnterExit2, int In2X, int In2Y, int In2W, int In2H,
  109.              int MesagBuf[], unsigned long Interval,
  110.              int *OutX, int *OutY, int *ButtonState, int *KeyState, int *Key,
  111.              int *ReturnCount)
  112. {
  113.     unsigned short *i = (unsigned short *)&Interval;
  114. #ifndef __MSHORT__
  115.     register int j;
  116.     short     dummy[8];
  117. #endif
  118.  
  119.     aes_intin[0] = Type;
  120.     aes_intin[1] = Clicks;
  121.     aes_intin[2] = WhichButton;
  122.     aes_intin[3] = WhichState;
  123.     aes_intin[4] = EnterExit1;
  124.     aes_intin[5] = In1X;
  125.     aes_intin[6] = In1Y;
  126.     aes_intin[7] = In1W;
  127.     aes_intin[8] = In1H;
  128.     aes_intin[9] = EnterExit2;
  129.     aes_intin[10] = In2X;
  130.     aes_intin[11] = In2Y;
  131.     aes_intin[12] = In2W;
  132.     aes_intin[13] = In2H;
  133.     aes_intin[14] = i[1];
  134.     aes_intin[15] = i[0];
  135.  
  136. #ifdef __MSHORT__
  137.     aes_addrin[0] = (long)MesagBuf;
  138. #else
  139.     aes_addrin[0] = (long)&dummy[0];
  140. #endif
  141.  
  142.     aes_control[0] = 25;
  143.     aes_control[1] = 16;
  144.     aes_control[2] = 7;
  145.     aes_control[3] = 1;
  146.     aes_control[4] = 0;
  147.     aes(&aes_params);
  148.  
  149.     *OutX = aes_intout[1];
  150.     *OutY = aes_intout[2];
  151.     *ButtonState = aes_intout[3];
  152.     *KeyState      = aes_intout[4];
  153.     *Key  = aes_intout[5];
  154.     *ReturnCount = aes_intout[6];
  155.  
  156. #ifndef __MSHORT__
  157.     if(MesagBuf != (int *)0)
  158.         for(j = 0; j < 8; j++)
  159.             MesagBuf[j] = dummy[j];
  160. #endif
  161.  
  162.     return aes_intout[0];
  163. }
  164.  
  165.  
  166. int evnt_timer(unsigned long Interval)
  167. {
  168.     unsigned short *i = (unsigned short *)&Interval;
  169.  
  170.     aes_intin[0] = i[1];
  171.     aes_intin[1] = i[0];
  172.     aes_control[0] = 24;
  173.     aes_control[1] = 2;
  174.     aes_control[2] = 1;
  175.     aes_control[3] = 0;
  176.     aes_control[4] = 0;
  177.     aes(&aes_params);
  178.     return aes_intout[0];
  179. }
  180.